Digital information displayed on the Internet may be found on web pages viewed through a web browser. A web page is an HTML file containing both text and a set of hyper-text markup language (HTML) tags that describe how the text should be formatted when the web browser displays the web page on a user's display screen. A web browser is a computer program that goes to a web server on the Internet, requests the web page, and retrieves the page so that a user can view HTML documents and access files and programs related to those HTML documents. A web server is a program that uses HTTP to provide HTML documents and files and programs related to those documents when requested by a web browser. The web browser then interprets the HTML tags within the page and displays the page.
The HTML tags direct the browser as to how the web page should look when it is displayed. The browser interprets these tags to determine the format of the text on the screen. The tags can instruct the browser to change fonts, color, and arrange text in tables. Currently, one of the most widely used HTML tools for arranged web pages is a table. Tables are created with the tag, <table>. A horizontal row in a table begins with the tag <tr>, and each piece of data within the horizontoal row begins with the tag <td> and <th>. The width of rows and columns, the height of rows and columns, the heading spacing, and the cell spacing in a table can be controlled.
When using a table in a web page, a situation arises where the user may desire to reduce the size of the table. For example, a table on a web page may display a comparison of computer manufacturers, models, prices, central processing unit (CPU), random access memory (RAM), disk space, optical drive specifications, a link to additional information, software installed, warranty, and other many other details. A person shopping for computers on the Internet may access and view the table. However, all of this information will not fit on the user's display. Accessing the data requires horizontal scrolling because the page has left-hand navigation and aggregate column width stretches beyond the user's screen. Moreover, the user only wants to see manufacturer, price, CPU, RAM, and disk space. A reduction in table size to include only the needed items is desirable.
Presently, the problem may be partially alleviated in two ways. First, the user can attempt to add display space through one or more of the following: increase screen resolution, alter the browser layout by removing or consoldating toolbars, remove the status bar, and override the web page layout with a smaller font size. The user could also buy a larger display or a secondary display. Such solutions are expensive and inconvenient, and cannot help in all situations.
Second, web page or application developers could decrease the number of columns that are displayed per page. Alternatively, the number of rows for each item could be increased, shifting information from some columns into sub-rows. The horizontal plane could be dedicated exclusively to the table, giving up navigation or content on the left or right side of the screen. Additionally, developers could provide dynamic column layout and allow the user to set preferences for which columns are displayed. Such preferences could be extended to width and font size. One method that is occasionally used is to provide the data for columns in a persistent data store, with columns displayed or not displayed based on Javascript. (see the Javscript Cookbook by O'Reilly).
None of the developer's solutions are practical or effective. Decreasing columns may help some users to the detriment of others. Increasing the number of rows per item requires more eye movement to gather information. Dedicating the horizontal plane may not fit with site design, may cause usability problems, and may be insufficient in the end. Developing dynamic content would be helpful for users, but would require tracking user's preferences, and may turn away users, all of which making the solution costly and difficult to maintain. Furthermore, such dynamic content would not be accessible to user's with Javascript disabled, involves browser dependencies, and is not compatible with existing web pages that contain table data.
Therefore, what is needed is a system that functions through a browser or browser plug-in that empowers a user to reduce tables by hiding columns on any web page, regardless of the coder's implementation.
These and other objects of the invention will be apparent to those skilled in the art from the following detailed description of a preferred embodiment of the invention.